package ulteam.land.session;

import java.util.Collection;

import javax.ejb.Remote;

import ulteam.land.exceptions.LandException;

@Remote()

public interface Joueur {
	
	public boolean isConnecte();

	public MoteurJeu.TypeJoueur getTypeJoueur() throws LandException;
	
	public void connecter(String nom);
	
	public String getNom() throws LandException;
	
	public Collection<String[]> getMachinesInfos()throws LandException;
	public Collection<String[]> getEmpruntsInfos() throws LandException;
	
	public int getNbEmployes() throws LandException;
	public double getSalaire()throws LandException;
	public double getCapital() throws LandException;
	public void augmenterSalaire(double montant) throws LandException;
	public int embaucher(int nb);
	public int licencier(int nb);
	public void definirPrixVente(double prix);
	public double getPrixVente();
	public boolean acheterMachine(int nb);

	public void deconnecter();
	public void setActionsOk();
	public boolean isActionOk();
	public void definirTauxPrets(double taux);
	public void definirDureeEmprunt(int duree);
	public double getTauxPrets();
	public int getDureePrets();
	
	public void definirImpotEnt(Double taux);
	public void definirImpotEmp(Double taux);
	public double getImpotEnt();
	public double getImpotEmp();
	
	public void validerForm();
	public double emprunter(double Montant, String nomBanque) throws LandException;
	
	public String getTypeJoueurString() throws LandException;
	public double getBeneficeBIPprec() throws LandException;
	public int getNbProductionBIPprec();
	public double getRendement();
	public boolean remboursementAnticipe(long idEmprunt);	
}
